package br.com.rcbsystens.promotora.model.entidades.tabelas;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import br.com.rcbsystens.promotora.model.dao.JpaUtil;

public class TabelasDao {
	public void salvar(Tabelas tabela){
		EntityManager manager = JpaUtil.getEntityManager();
		try {
			manager.getTransaction().begin();
			manager.persist(tabela);
			manager.getTransaction().commit();
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("Não foi possivel salvar tabela. Erro: "+e.getMessage());
		}finally{
			manager.close();			
		}
	}
	public List<Tabelas> consultaTabelaPorAnoRetorno(int ano){
		List<Tabelas> tabelas = new ArrayList<Tabelas>();
		EntityManager manager=JpaUtil.getEntityManager();
		try {
			Query query = manager.createNamedQuery("Tabelas.buscaAno");
			query.setParameter("ano", ano);
			tabelas = query.getResultList();
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("Erro ao retorna consulta Tabelas por ano. Erro: "+e.getMessage());
		}finally{
			manager.close();
		}
		return tabelas;
	}
	
	public List<Tabelas> consultaTodasAsTabelas(){
		List<Tabelas> tabelas = new ArrayList<Tabelas>();
		EntityManager manager=JpaUtil.getEntityManager();
		try {
			Query query = manager.createNamedQuery("Tabelas.retornaTodos");
			tabelas = query.getResultList();
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("Erro ao retorna consulta Tabelas. Erro: "+e.getMessage());
		}finally{
			manager.close();
		}
		return tabelas;
	}
}
